Rule-Based Non-Intrusive Load Monitoring Using Steady-State Current Waveform Features

Monitoring electricity energy usage can help to reduce power consumption considerably. Among load monitoring techniques, non-intrusive load monitoring (NILM) provides a cost-efficient solution to identify individual load consumption details from the aggregate voltage and current measurements. Existing load monitoring techniques often require large datasets or use complex algorithms to obtain acceptable performance. In this paper, a NILM technique using six non-redundant current waveform features with rule-based set theory (CRuST) is proposed. The architecture consists of an event detection stage followed by preprocessing and framing of the current signal, feature extraction, and finally, the load identification stage. During the event detection stage, a change in connected loads is ascertained using current waveform features. Once an event is detected, the aggregate current is processed and framed to obtain the event-causing load current. From the obtained load current, the six features are extracted. Furthermore, the load identification stage determines the event-causing load, utilizing the features extracted and the appliance model. The results of the CRuST NILM are evaluated using performance metrics for different scenarios, and it is observed to provide more than 96% accuracy for all test cases. The CRuST NILM is also observed to have superior performance compared to the feed-forward back-propagation network model and a few other existing NILM techniques.


Introduction
Based on the modern day loads used by the general public, electrical energy is expected to eventually replace all other forms of end-use energy [1]. Therefore, understanding the specifics of electrical energy usage is essential for increasing energy efficiency, conserving energy, and reducing emissions [2]. The electricity consumption details basically comprise information on each electrical appliance's consumption, including operating state, power demand, total electricity energy, and fault diagnosis. This information can help in increasing energy efficiency and power grid asset management [3,4]. From the end user's perspective, the information on electricity consumption can encourage them to become energy efficient and thereby result in potential energy savings [5,6]. Hence, an energy efficiency solution built on load monitoring techniques can help reduce electricity consumption considerably [7]. The methods and techniques for monitoring electric energy usage and providing appropriate feedback on usage patterns to users can be briefly classified as intrusive and non-intrusive. Despite the accuracy and dependability of the data acquired, the intrusive method has difficulty in terms of its early implementation, need for expensive hardware, and low user approval [8]. On the other hand, the non-intrusive load monitoring (NILM) method, uses less equipment because there are fewer components to install, making it a convenient and affordable method of load monitoring [9,10].
The existing NILM approaches can be briefly classified from the problem perspective as optimization-based problems , pattern recognition problems and rule-based classification problems. The optimization algorithm finds the best combination of state of the appliances through different randomization strategies and iterative processes. NILM was first developed as a combinatorial optimization problem [11], but this approach has a major shortcoming when multiple loads of similar power ratings are required to be identified. To tackle this issue, many improved optimization techniques have been developed. In Ref. [12], the NILM algorithm was formulated as a least square error minimization problem to identify the active appliances according to the observed power profile. Similar to this, Ref. [13] developed a NILM system based on particle swarm optimization (PSO) and integer programming (IP), by extracting the features of the power signal. However, the exponential complexity of these algorithms limits their use in real-time cases.
On the other hand, the NILM approach as a pattern recognition problem predominantly uses clustering and classification algorithms such as an artificial neural network [14,15], a convolutional neural network [16], and diffusion models [17]. The above-mentioned machine-learning-based methods can be used to overcome the difficulty of distinguishing between similar rated loads by utilizing the features from the training data [18]. However, when machine learning is employed, large sets of data are required to develop an accurate appliance model. Further re-training would be required when the load set changes, and therefore, the method is not easily transferable. Even though unsupervised learning methods have been developed to enable the transferability of models [19], the requirement of large datasets still remain a limitation. In addition, machine-learning-based algorithms predict the state of each appliance during every sampling period, which increases the computational cost as the number of appliances to be predicted increases. In addition, these algorithms are generally applied to disaggregate high-power appliances (e.g., the air conditioning), whereas the error rapidly increases for low-power appliances.
In this regard, using event-based NILM algorithms where events are detected and classified using certain rules provides a finer granularity at lower computational cost than eventless machine-learning-based NILM algorithms [20,21]. In addition, event-based techniques require fewer datasets to develop the appliance models and also the noise and measurement errors have a reduced effect on their performance. The predominant shortcomings of existing rule-based NILM techniques are the dependency on a single signature and the effect of noise and measurement errors on it. When a single load signature is used for event detection and load identification, NILM may result in the non-identification or false identification of loads, specifically when the signature has a low signal-to-noise ratio. To reduce the effect of noise and errors, many NILM methods specify a threshold to avoid false event detection and identification of loads [22]. However, the value of this threshold is a trade-off between the smallest change in the considered load signature and the maximum possible measurement error. This is particularly difficult when the load set consists of loads with a wide range of power ratings. The measurement error can also lead to non-detection of a load change, which is referred to as an event. Additionally, several existing rule-based NILM algorithms employ deep learning techniques [23,24] that highly increase the computational requirements, and optimizing these algorithms can be challenging. The effect of noise due to single load signatures can be overcome by using a rule-based intelligent identification method to distinguish loads with the help of multiple features [25]. The selection of these features requires specific attention to achieve adequate performance. Among the available parameters, the current waveforms are known to be load-specific [26]. Hence, the features of load current waveforms can clearly represent the individual loads, and therefore, their features can help identify connected loads. Furthermore, since an instantaneous load current is periodic in nature, the non-periodic noise and measurement errors can be eliminated by using appropriate filtering techniques.
Considering the above discussion, a NILM technique utilizing current waveform features and rule-based set theory approach (CRuST) is proposed in this work. The CRuST NILM architecture consists of an event detection stage followed by preprocessing and framing of the current signal, the extraction of features, and finally, the load identification stage. In the event detection stage, the change in the event variable, which is the function of root-mean-square (RMS) and total harmonic distortion (THD), is used to identify the occurrence of a change in the connected loads. This reduces the rate of false positive and false negative detections as the event variable value due to noise and the smallest load change is increased. When an event is detected, the aggregate current waveform is processed and framed for a predefined time duration to obtain the current waveform of the load that caused the event. From the preprocessed and framed load current waveform, their features, namely crest factor, form factor, variance w.r.t a sinusoidal reference, RMS, power factor, and THD, are extracted. These features signify and distinguish the waveshapes as well as the power rating of different loads. The proposed NILM architecture also includes the appliance models within which the load sets are classified into subsets for each feature based on the rules of limits defined in their corresponding feature array. These same rules are used in the identification stage to classify and determine the load that caused an event by using a set intersection method. The following assumptions are made: • Only type 1 loads with ON and OFF states are considered. However, the algorithm shall be further developed to detect type 2 and type 3 loads in future research. • At any time instant, only one appliance changes its state such that an event is associated with a single appliance. • The minimum time between two load changes is assumed to be at least one second, so that the load current can be suitably framed for feature extraction. • The aggregate current at the smart meter is sampled at a frequency large enough to enable accurate feature extraction from the instantaneous aggregate current waveforms.
The submetered time-series current waveform of eight type 1 loads, collected from laboratory experiments, are used as the dataset in this work. The proposed NILM method is tested for multiple scenarios and compared to the actual state of the devices using a confusion matrix. The performance evaluation metrics such as precision, recall, accuracy, individual, macro-averaged, and weighted averaged F-measure, and area under the curve of the receiver operating characteristics are used to evaluate and demonstrate the superior performance of CRuST NILM. The principal contributions of this paper are listed as follows.

1.
The requirement of large dataset is eliminated by using a criteria-based approach to classify load-specific current waveform features.

2.
A unique appliance model is presented that classifies loads into sets based on feature values in criteria arrays.

3.
An improved event detection algorithm, that utilizes two features, each signifying change in current and change in waveshape, is proposed.

4.
A novel load identification method using the concept of rule-based set theory is proposed to achieve improved performance.

Architecture of Proposed CRuST NILM
The architecture of the CRuST NILM method is presented in Figure 1. The aggregated current waveform i Agg at real time is obtained from a data acquisition system. The event detection algorithm checks for any changes to the current waveform i Agg . The detection of an event signifies a change in the connected loads. When an event is detected at say instant n E , the algorithm waits for a few fundamental cycles of the current waveform to allow its switching transients to settle. The aggregated current i Agg is then preprocessed and framed. The preprocessing eliminates the noise and measurement errors, while framing separates the current of the load that caused the event from the aggregate load current for the defined frame and window length. The load current waveform i L is then read as a time-series data array from which the current waveform features are extracted, which is further used for load identification. The load identification phase consists of indexing and identifying loads from the search group set {L SG } with the help of the appliance model. In the proposed CRuST NILM, the dataset used is a private dataset generated by the research team at the United Arab Emirates University laboratory. The experimental setup used to generate the dataset is shown in Figure 2, which includes six different type −1 appliances, namely two compact fluorescent lamps (CFL), two incandescent light bulbs , a table fan, a desktop computer, a fridge, and a room heater. The current signals for each load are then measured and the processed submetered data for these loads are presented in Figure 3. In order to identically apply feature extraction methods to create an appliance model, the time-series data samples of these loads are preprocessed by phase shifting and time clipping appropriately. Here, six features pertaining to the load current waveforms are considered for load identification.
For effective load identification, the choice of features of each of the loads should be unique and non-redundant. Hence, in this paper, the crest factor, form factor, and variance of the normalized harmonic components of the load current w.r.t. normalized sinusoidal waveform are used in addition to the root-mean-square (RMS) of the fundamental component, power factor, and THD of the load current. Among these, the RMS and power factor values of the current signify the power consumption of the loads, the variance and THD represent a certain aspect of the waveform shape, while the crest factor and form factor includes both the current magnitude as well as its waveshape information. These six features are obtained for two random datasets of each of the eight loads as listed in Table 1 and are used to develop the appliance model for a load feature library that envelops several of the important features that signify and distinguish the current waveforms of different waveforms.  Table 1. Loads, labels, and features of their current waveforms.

Appliance Models
The appliance model of the proposed CRuST NILM consists of six criteria arrays and load set arrays constructed based on the six considered features as shown in Figure 4. For instance, for the feature C, i.e., crest factor, the appliance model includes the criteria array and load set array [C C ] and [C L ], while for F, i.e., form factor, the model incorporates [F C ] and [F L ], and so on. The criteria arrays hold the upper limits for the features based on which the loads are grouped into sets in the corresponding load set array. The selection of the values for the criterion array and the grouping in the load set arrays for the loads of Table 1 are further detailed as follows.

Load Set Array
Consider the load set L that includes all the eight loads labeled L 1 to L 8 , i.e., To relate each load to the separation criterion, the load set L is grouped into several subsets based on the values of corresponding features. The classification of these subsets is performed based on the separation criteria specified in the criteria array. Each of the six features relate to one load set array, and are termed [ Under each load set array, the loads are grouped based on the separation criteria specified in the corresponding index of the criteria array. Consider the feature crest factor, C, for the loads L 1 to L 8 . If the crest factor of the load current of L i is less than C C (x r − 1) but greater than C C (x r ), then L i will be listed in the (x r − 1)th row of the load set array [C L ], i.e., in set C L (x r − 1). Similarly, each of the loads are categorized and listed based on the values in the criteria array. Since only type 1 loads are considered in this paper, each load is listed only once in a load set array. A null set within a load set array signifies there are no existing loads that fall under the corresponding separation criterion.
The process of the classification of loads in the load set array can be further detailed using the following case. An i f − else algorithm to classify these loads based on the crest factor values C(L i ) is presented in Algorithm 1. Here, C L (j) = C L (j)∪L i is used to include the load L i to the load set in the jth index of the load set array C L . The load set arrays are developed for the rest of the features in a similar manner. This forms the appliance model, which is further used for load identification.

Event Detection
An event is termed as the occurrence of a change in the connected loads signified by the change in power or current. Thus, it can be identified by the change in the aggregate current i Agg as shown in Figure 5. The effect of noise and measurement error make it difficult to identify an event because many of the low power loads such as CFL, bulb, and desktop computer cause very low change in the power measurement in comparison with those such as fridge and heater. Furthermore, the errors and noises in the measurements for the high-power devices and the power or current values of the low-power devices are of comparable magnitudes. In this case, a certain NILM algorithm utilizes transient features to determine an event. However, these may fail when the change in loads causes considerably low transient effects, such as that shown in Figure 5. These can lead to false detection when events are detected only by using power measurements. On the other hand, using a combination of non-redundant features can aid in a more accurate event detection. In the proposed CRuST NILM method, event detection is performed by observing the RMS and THD of the aggregate current waveform i Agg . The RMS value indicates change in power level, while THD incorporates the harmonics and indicates the change in the waveform shape. To quantify the change in these variables, their difference w.r.t. N c fundamental cycle is considered. For a current waveform i Agg of fundamental frequency f g and sampled at f s , the number of samples in one fundamental cycle is N = f s f g . Thus the delay length N d corresponding to N c fundamental cycles is determined by (1).
Considering one fundamental cycle, i.e., N c = 1, the event detection variable E var is determined as in (2).
Here, R and T are the RMS and THD of the current waveform, respectively. RT(n) and RT(n − N) are the products of RMS and THD at present sampling instant n and one fundamental cycle prior to instant n respectively.
To implement (2), a moving window, W RT , of length N + 1, is used. From Figure 5, at any instant n, W RT (1) = RT(n − N) and W RT (N + 1) = RT(n). The event detection variable can be obtained as E var = (W RT (N + 1) − W RT (1)) 2 . The window moves forward by one sample at a sampling frequency same as the current waveform, thereby enabling the variable computation in real time.
An event E is signified by a change in the variable E var by a magnitude greater than e as expressed by (3). Here, e accounts for the noise and measurement errors and n E is the sampling instant at which the event is observed to occur.
Based on the values for E var observed for various combinations of loads mentioned in Table 1, the margin for error is 3 ≤ e ≤ 14. Hence, e can be safely fixed as 10 as shown in Figure 5. The slight delay between the actual occurrence of an event and the detected event E is negligible as time between two consecutive events is considerably more (at least few seconds) in comparison to this delay. The above-described event detection method is expected to have superior performance over the conventional method of using power-related variations, especially when the considered loads have a wide range of power ratings. The chances of false positive event detection due to transients is avoided by using a counter to help discard successive events within a predefined duration to allow transients to settle down.
To reduce the search space, when an event is detected, the load search group L SG is defined based on whether a new load was switched ON or an existing load was turned OFF using the RMS values as presented in Algorithm 2. To avoid the effect of transients, the values of RMS are considered one fundamental cycle before the event and 5 fundamental cycles after. Here, L on (n E ) and L off (n E ) denote the set of loads that were identified to be ON and OFF, respectively, prior to the event occurrence at the sampling instant n E . Note that since L on and L off are non-intersecting subsets of the load set L, at any instant n, L = L on (n) ∪ L off (n).
The flowchart representing the event detection and defining the search group is presented in Figure 6. The instant of event occurrence, n E , is passed on to preprocessing and framing stage where the current waveform is used for feature extraction and the load search group L SG is used for the load identification to reduce the search size.

Preprocessing and Framing
When an event is detected, the load current waveform features are expected to be extracted and further used for the identification of the load that caused the event. Since the features are required to be extracted from individual load currents, the load current that caused the event, i L E , should be separated from the aggregate load current i Agg while avoiding the effects of transients due to the load change. In the loads listed in Table 1, all the current waveforms are observed to attain steady-state within ∆t tr = 0.3 s. Furthermore, for the purpose of feature extraction, the load current waveform is framed for ∆t f = 0.5 s, and an additional delay time of ∆t ad = 0.05 s is considered to avoid overlapping of transients. Thus, the event-causing load current i L E can be characterized as in (4), where the total time difference is ∆t d = ∆t tr + ∆t f + ∆t ad = 0.85.
In discrete-time domain, the number of samples N d corresponding to the delay ∆t d can be determined as in (5).
To implement (4), and thereby obtain i L E (n), a moving window, W E L , of length N d + 1, is used. The window moves forward by one sample at a frequency equivalent to the sampling frequency f s of the current waveform. Therefore, the load current at any sampling instant n is i L E (n) = W L (N d + 1) − W L (1) as shown in Figure 7. The number of samples, N f , corresponding to framing duration, ∆t f , is obtained by N f = ∆t f × f s = 15,000 samples in the discrete-time domain. A rectangular window W F of unit magnitude and length N f positioned ∆t tr = 0.3 s after E → , is used for framing i L E as shown in Figure 7. Thus, the framed current i L is obtained using (6).
The framed current waveform i L corresponds to the load that caused the event at n E . This load current waveform is used as time-series data in the feature extraction stage.

Feature Extraction
From the preprocessed and framed current signal, the six features mentioned in Table 1 are extracted. The framed signal, i L , is a time-series data array with sample length of N f samples. Hence, there are N c = N f N = 15,000 500 = 30 fundamental cycles. For a more accurate feature extraction, the features are computed for each fundamental cycle and the values are averaged for 30 cycles. Each fundamental cycle in the time-series array i L is separated in i sig as shown in Figure 8 using (7), where 1 ≤ n c ≤ N c . The resulting matrix i sig will have a size of N c -by-N = 30-by-500.
i sig (n c , n) = i L (n + (n c − 1)N) The features crest factor, form factor, variance, RMS, power factor, and THD values are denoted as C sig , F sig , V sig , R sig , P sig , and T sig , respectively. Each feature variable is a column matrix of length N as shown in Figure 8 and their corresponding average values are denoted by suffix 'av'. The following processes and equations are employed for the purpose of feature extraction from each row of i sig .
Fast Fourier Transform (FFT) can provide information on the magnitude, frequency, phase, and harmonics of a signal, which are useful for the computation of the aforementioned features. Let the N-point FFT of n th c row of signal i sig , i.e., i sig (n c ), be represented by F (n c ), which is an array of length N = 500 as shown in Figure 8. The elements of the array F (n c ) signify the magnitude and phase of the corresponding harmonic components of the i sig (n c ). Hence, the magnitude and phase of the fundamental frequency component of i sig (n c ) can be deduced as (8) and (9), respectively, where F r (n ci , 2) and F i (n c , 2) are the real and imaginary parts of F (n c , 2).
The values of the features can be calculated with the help of (8) and (9) as follows.

Crest Factor C sig
The crest factor is the ratio of the peak to RMS values of the fundamental component of a signal as shown in (10).

Form Factor F sig
The form factor is the ratio of the RMS of fundamental component of a signal to its average value, represented by (11).

Variance V sig
Variance is generally defined as the squared standard deviation of a signal from its mean value. However, to obtain a measure that can represent the signal waveform shape, the deviation of signal compared to a reference sinusoidal signal with unity amplitude, i ref , is considered here. The signal i sig (n c ) is also normalized to unity peak as in (12).
To avoid the effect of phase shift between the reference sinusoidal signal and i n sig , the variance ratio is computed based the absolute values of FFT. Let F ref and F n (n c ) be the N-point FFTs of i ref and i n sig , respectively. The variance percentage can be calculated from the FFT arrays using (13).

RMS R sig
The RMS value of signal can be obtained from the magnitude of the fundamental frequency component as

Power Factor P sig
The power factor is the cosine of the angle of phase shift between the fundamental components of voltage and current. P sig (n c ) = cos(θ V1 − θ 1 (n c )) (15) Here, θ V is the phase shift of voltage and θ 1 is the phase shift of current obtained from (9).

Total Harmonic Distortion T sig
The THD percentage of the current signal is computed with the help of the FFT signal F (n c ) as in (16).
The values of features array C sig , F sig , V sig , R sig , P sig , and T sig are averaged to obtain C av , F av , V av , R av , P av , and T av , respectively, as shown in Figure 8. These values are further used alongside the appliance model and load search group to identify the load that caused the event.

Load Identification Technique
The proposed load identification technique is demonstrated as a flowchart in Figure 9 and explained in detail as follows. In the load identification stage, the criteria mentioned in the criteria array of appliance model are used to determine the load that causes the event based on the extracted features. For this purpose, array indices are obtained for which the feature values of the load waveform i L satisfy the criteria in the criteria array. The array indices thus obtained are used to determine the load sets from the load set arrays. The event-causing load is expected within these load sets. For example, say the feature C av of event-causing load waveform i L satisfies the criteria in C C (x c ), the index x c can be determined by Algorithm 3. The load that caused the event is expected to be within the load set C L (x c ). Similarly, the array indices are determined for the rest of the five features as x f , x v , x r , x p , and x t . The load corresponding to waveform i L that caused the event can be determined by (17).
Since multiple non-redundant features have been used and the search group has been narrowed, (17) yields only one load, which satisfies all the criteria. However, if any of the previous load identifications were incorrect, the load search group would be incorrect. This would result in a null set for L E . In such a case, the load search group is modified to L SG , and the event-causing load is recalculated using (17). Furthermore, a null set could still be returned when one or more features are not accurately calculated due to the error in framed load current i L . In such a case, the event-causing load is determined as the most repeated load in the combined load set using (18).
Once the event-causing load is determined, the ON and OFF load sets, L on and L off , are updated based on Algorithm 4. Here, L off = L off ∪ L E implies the inclusion of load L E to set L off , and L on \ L E implies that L E is removed from the set L on .

Results and Discussion
The performance of the proposed CRuST NILM is evaluated by comparing the results with the actual conditions for different load switching scenarios using the time-series data obtained from the laboratory. The actual and predicted cases for both event detection as well as load identification are presented as a confusion matrix. As the proposed CRuST NILM depends on the load current, the effect of aggregate current on the event detection and load identification stages is to be evaluated. Therefore, three different scenarios are considered and each of the eight loads are tested for the three scenarios by creating balanced classes.
In the first scenario, a single load is considered to change state at a time, while all others remain in the OFF state. Since there are eight loads, each with an ON and OFF state, there are 16 possible combinations that are considered as an event. On the other hand, for the second scenario, a load change is considered while another load stays ON. Hence, each load has two cases (ON/OFF) with the remaining seven loads. The combination results in 14 cases for one load and therefore, 112 combinations. However, in the test condition, the ON and OFF of individual loads is also considered as an event resulting in an additional 112 combinations. Thus, the total number of combinations for scenario 2 is 224. Similarly, in scenario 3, to test the algorithm at higher aggregate currents, a load change is considered to occur when two loads are in the ON state. Considering all the load changes in such a case, there exists 1008 combinations.
The results are presented as contingency matrices and thereafter used to compute the precision, recall, F-measure, and accuracy for performance evaluation. The precision parameter measures how many of the detected events are actual relevant events, while recall signifies the number of actual relevant events that are detected. The F-measure parameter gives a balance of precision and recall by providing their harmonic mean. Accuracy defines the ratio of the correctly detected events to the total number of events. The results and performance evaluation for the event detection algorithm and load identification technique for the three switching scenarios are discussed further as follows.

Event Detection Algorithm
The event detection is evaluated based on the accuracy of detection in the case of an actual event brought about by a change in load using the confusion matrices presented in Figure 10. From the contingency matrices, the performance evaluation metrics for the three test scenarios are computed as shown in Table 2. For the first scenario with a single load operating at a time, the proposed event detection algorithm is capable of detecting all the 16 events accurately. This is as expected, as there is no influence of other loads on the event detection algorithm. Nevertheless, this validates that the effect of noise and measurement noise is minimal in the proposed event detection technique, and hence, all parameter evaluation metrics yield 100% in this scenario.  The results of scenario 2 and 3 can be considered to be more comparable to real-world conditions. Since a balanced class is used and the cost of a false negative is greater than false positive detection, the metrics recall and accuracy are more relevant in comparison. For both these scenarios, the percentage of detected relevant events to the total relevant events, signified by the metric recall, is observed to be greater than 98%. Similarly, the accuracy, i.e., the accurately detected events to the total number of cases, is also computed to be greater than 98% for both the scenarios. Hence, the proposed event detection algorithm can be expected to operate satisfactorily for at least 98% of the cases. This superior accuracy is owing to the use of the event variable that considers change in both RMS and THD of the current waveform.

Load Identification Technique
The proposed load identification technique is assessed using the confusion matrices and the corresponding performance evaluation metrics as presented in Figure 11, and Tables 3 and 4. Here, only the test cases that returned a true positive in the event detection stage are considered. In the confusion matrix (see Figure 11), the null column indicates that the load identification algorithm failed to relate the extracted features to any of the library load features, and hence returns a null matrix. As with the event detection algorithm, the proposed load identification technique can also accurately classify all the loads in the first scenario. This is because the feature values are correctly computed, while other loads do not influence the framed load current waveform. Therefore, the precision, recall, F-measure, and accuracy calculations yield unity, indicating 100%. However, in the case of scenarios 2 and 3, few loads are not accurately identified. This is because the presence of other loads affects the framed current, and hence its extracted feature values. Nevertheless, the performance evaluation metrics (PEM) are comparable for scenarios 2 and 3. In fact, all the PEMs are observed to improve for the combination of three loads owing to the increased size of the class. The results show accuracy values greater than all the loads, with the least accuracy of identification for L 1 . This is predominantly caused by the narrow difference in features between loads L 1 and L 2 , both being CFLs, due to which L 2 is often falsely identified as L 1 and vice versa. The proposed load identification technique can identify the loads L 5 , L 7 , and L 8 , namely the fan, fridge, and heater, with an accuracy as high as 100%.

Overall Performance Evaluation of CRuST NILM
The overall performance of the proposed CRuST NILM is evaluated considering the same class used in the event detection algorithm. The confusion matrices and the corresponding performance evaluation metrics are presented in Figure 12, and in Tables 5 and 6. The null row on the 'true' side of the confusion matrix given in Figure 12 indicates the loads that were detected and identified while there was no load change; hence, it lists the loads that were identified due to false event detection. Similarly, the null column under the 'identified' list indicates the loads identified during false negative event detection as well as those where the load identification algorithm failed to relate the extracted features to any of the library load features, and hence returned a null matrix.
Scenario 1 accurately detects and identifies all the cases and yields 100% for all the four considered performance evaluation metrics, and hence does not require further evaluation. However, as observed from the confusion matrices, the class is now unbalanced, as the number of null cases is equal to the sum of the number of all the test cases for eight loads. Therefore, for an unbiased evaluation, the macro-averaged F-measure f mac and the weighted-averaged F-measure f w are calculated for scenarios 2 and 3.  To provide a graphical representation of the performance of the proposed NILM technique, the receiver operating characteristics (ROC) curve is plotted as in Figure 13. For this purpose, the true positive rates (TPR) and the false positive rates (FPR) are computed for each load case including the null case from the confusion matrix of the three scenarios. From the plots, it is observed that TP and TN do not overlap at all for loads L 5 , L 7 , and L 8 , indicating 100% accuracy of event detection and load identification. The remaining set of loads and the null condition also yield very good performance as the area under the ROC curve (AUC-ROC) is close to unity as can be seen in Tables 5 and 6. This validates the superior performance of the proposed CRuST NILM technique.

Comparison of Proposed CRuST NILM with Feed-Forward Back-Propagation Network Model
A feed-forward back-propagation network model (BPNM) was created to further validate and compare with the proposed CRuST NILM. The features of maximum current, THD, and crust factor for the laboratory dataset are obtained for all possible combinations of the eight loads. The resulting data matrix is split into a 3:2 ratio for training and validation, respectively. The validation set is later modified such that it remains identical to that used in CRuST NILM. The results obtained for BPNM in validation are presented in Figure 14 and Table 7. For ease of direct comparison, the performance evaluation metrics obtained for CRuST NILM (given in Tables 5 and 6) and BPNM (given in Table 7) are presented in terms of percentage values in Table 8. Among the PEMs, precision defines how accurate the predicted positive values are. It is noticed from Table 8, that the precision values obtained when CRuST NILM is used for loads L 1 through L 4 and null are lower than that obtained for BPNM. This is predominantly due to the narrow bands of separation criteria used in CRuST NILM for loads with low power consumptions. It can be improved by defining a wider separation criteria for the particular features that are a function of load power, thereby reducing false positives. For the remaining set of loads, CRuST NILM is observed to provide higher precision in comparison to BPNM. Hence, the macro-averaged and weighted-averaged precision for CRuST NILM is higher in comparison. Furthermore, CRuST NILM has superior performance compared with that of BPNM for all the loads L 1 through L 8 when considering the PEMs such as recall, F-measure, and accuracy.

Comparison of Proposed CRuST NILM with Other State of Art NILM Techniques
Finally the performance of the CRuST NILM technique developed in this paper is compared with other state of the art NILM techniques given in [21,24,25]. Direct comparison with other existing NILM techniques is difficult since the dataset used and the set of appliances used are different in each of the literature. Thus, we consider the f 1 score as a measure of overall NILM technique accuracy in order to make some comparison of the present NILM technique with the existing techniques mentioned above. Table 9 compares the average f 1 score obtained during the load identification phase for each NILM technique; alongside, the other input parameters such as the number of loads and input signal used in each NILM technique are also listed in the table.  Table 9 shows that the f 1 score obtained for the proposed load identification is 98%, which is an enhanced value compared with that of the other state of the art NILM techniques where the f 1 values read approximately as 77%, 97%, and 90%, respectively. This is predominantly due to the narrow bands of separation criteria used in CRuST NILM for the accurate detection and identification of the low-power appliances.

Conclusions and Future Work
This paper presented a NILM technique that uses current waveform features for a rule-based event detection and load identification of type 1 loads. Since current waveforms are load-specific, six features that signify the magnitude, phase, and waveshape are used to distinguish between the different loads. The appliance model consists of, for each feature, a load set array within which loads are grouped into sets based on the rules in criteria arrays. Furthermore, an event detection algorithm is presented that identifies a change in load using an event variable that is a function of the RMS and THD values of the change in current. In the load identification stage, the concept of set theory is employed to reduce the complexity and improve the accuracy of the algorithm. The results for event detection, load identification, and the combined proposed technique show superior performance with an accuracy greater than 96% for all the loads. The overall performance of CRuST NILM is observed to be superior when compared with that of a feed-forward BPNM for NILM and with other state of the art NILM techniques.
As part of future work, the proposed algorithm will be improved to include type 2 and 3 loads by using state transition tables/diagrams. Additionally, the appliance model will adapt a dynamic library such that when the load identification stage returns a null set, the features are saved on to a temporary library to identify their recurrence and thereby modify the dynamic library. In this manner, unsupervised learning will be enabled in the future work related to the proposed NILM.
Author Contributions: All authors contributed extensively to the work presented in this paper, i.e., to the paper conceptualization, to the resources' analysis, as well as to the writing, review, and editing processes. All authors have read and agreed to the published version of the manuscript.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: